<template>
  <div class="floor">
      <div class="py-container">
        <div class="title clearfix">
          <h3 class="fl">{{floorItem.name}}</h3>
          <div class="fr">
            <ul class="nav-tabs clearfix">
              <li class="active" v-for="(navItem, index) in floorItem.navList" :key="index">
                <a data-toggle="tab">{{navItem.text}}</a>
              </li>
            </ul>
          </div>
        </div>
        <div class="tab-content">
          <div class="tab-pane">
            <div class="floor-1">
              <div class="blockgary">
                <ul class="jd-list">
                  <li v-for="(keyword, index) in floorItem.keywords" :key="index">{{keyword}}</li>
                </ul>
                <img :src="floorItem.imgUrl" />
              </div>
              <div class="floorBanner">
                <!--  简写形式               -->
                <!--
                 <Carsousel :list="floorItem.carouselList" />
                 -->
                <div class="swiper-container" ref="floorSwiper">
                  <div class="swiper-wrapper">
                    <div class="swiper-slide" v-for="(caro) in floorItem.carouselList" :key="caro.id">
                      <img :src="caro.imgUrl">
                    </div>
                  </div>
                  <!-- 如果需要分页器 -->
                  <div class="swiper-pagination"></div>

                  <!-- 如果需要导航按钮 -->
                  <div class="swiper-button-prev"></div>
                  <div class="swiper-button-next"></div>
                </div>
              </div>
              <div class="split">
                <span class="floor-x-line"></span>
                <div class="floor-conver-pit">
                  <img :src="floorItem.recommendList[0]" />
                </div>
                <div class="floor-conver-pit">
                  <img :src="floorItem.recommendList[1]" />
                </div>
              </div>
              <div class="split center">
                <img :src="floorItem.bigImg" />
              </div>
              <div class="split">
                <span class="floor-x-line"></span>
                <div class="floor-conver-pit">
                  <img :src="floorItem.recommendList[2]" />
                </div>
                <div class="floor-conver-pit">
                  <img :src="floorItem.recommendList[3]" />
                </div>
              </div>
            </div>
          </div>
        </div>
      </div>
    </div>
</template>

<script>
import Swiper from 'swiper';
export default {
  name: 'Floor',
  props: ['floorItem'],

  // 组件挂载完毕
  mounted(){
    // 第一次在ListContainer组件中书写Swiper时，在mounted中书写是不可以的，但是为什么现在这里可以啦？
    // 1、第一次书写轮播图的时，由于请求是在那个组件内部发请求、动态渲染解构dom元素【前台至少服务器数据需要回来】，因此这里的写法(以下代码)不适用当时的那个组件
    // 2、现在的这种写法为什么可以：因为请求是父组件发的，父组件通过props传递过来的，而且结构都已经有了的情况下执行mounted
    // (换而言之: props传递数据给子组件， 子组件先进行动态渲染, 即: 子组件v-for已经遍历完成了，则dom也更新完成了,渲染完毕后后才执行的mounted)。
    this.$nextTick(()=>{
      let floorSwiper = new Swiper(this.$refs.floorSwiper, {
        loop : true,
        spaceBetween: 30,
        autoplay: true,//可选选项，自动滑动
        navigation: {
          nextEl: '.swiper-button-next',
          prevEl: '.swiper-button-prev',
        },
        pagination: {
          el: '.swiper-pagination',
          clickable: true,
        },
      })

      floorSwiper.el.onmouseover = function(){ //鼠标放上暂停轮播
        floorSwiper.autoplay.stop();
      };
      floorSwiper.el.onmouseleave = function(){
        floorSwiper.autoplay.start();
      };
    })
  }
}
</script>

<style  lang="less" scoped>
.floor {
      margin-top: 15px;

      .py-container {
        width: 1200px;
        margin: 0 auto;

        .title {
          .fl {
            float: left;
            color: #c81623;
            font-size: 20px;
            line-height: 30px;
            margin: 9px 0;
            font-weight: 700;
          }

          .fr {
            float: right;

            .nav-tabs {
              margin: 10px 0 0;
              display: inline-block;

              li {
                float: left;
                line-height: 18px;

                a {
                  padding-top: 1px;
                  font-weight: 400;
                  background-color: #fff;

                  &::after {
                    content: "|";
                    padding: 0 10px;
                  }
                }

                &:nth-child(7) {
                  a {
                    &::after {
                      content: "";
                    }
                  }
                }

                &.active {
                  a {
                    color: #e1251b;
                  }
                }
              }
            }
          }
        }

        .tab-content {
          border-top: 2px solid #c81623;
          border-bottom: 1px solid #e4e4e4;

          .tab-pane {
            .floor-1 {
              height: 360px;
              display: flex;

              .blockgary {
                width: 210px;
                height: 100%;
                background: #f7f7f7;

                .jd-list {
                  padding: 15px 0;
                  overflow: hidden;

                  li {
                    list-style-type: none;
                    float: left;
                    width: 40%;
                    margin: 0 10px;
                    border-bottom: 1px solid #e4e4e4;
                    text-align: center;
                    line-height: 26px;
                  }
                }

                img {
                  width: 100%;
                }
              }

              .floorBanner {
                width: 330px;
                height: 100%;
              }

              .split {
                width: 220px;
                height: 100%;
                position: relative;

                .floor-x-line {
                  position: absolute;
                  background: #e4e4e4;
                  width: 220px;
                  height: 1px;
                  top: 180px;
                }

                .floor-conver-pit {
                  width: 100%;
                  height: 50%;

                  img {
                    width: 100%;
                    height: 100%;
                    transition: all 400ms;

                    &:hover {
                      opacity: 0.8;
                    }
                  }
                }
              }

              .center {
                border: 1px solid #e4e4e4;
              }
            }
          }
        }
      }
    }
</style>
